1. Field of the invention
The present invention relates to a selective color adjustment apparatus for use in color printers, color photocopiers, color televisions, and other color image processing devices and, more particularly, to a selective color adjustment apparatus which can change the color of a selected part of an image while maintaining the color of other parts unchanged and retaining color continuity between the changed part and unchanged part.
2. Prior art
As color imaging devices have been improved to provide higher image quality and some intelligent control capabilities in recent years, an improved color adjustment capability has become necessary to meet the more sophisticated needs of the end user. The color adjustment function of a typical conventional device is described below with reference to FIGS. 18-20.
FIG. 18 is a block diagram showing the basic construction of a conventional color adjustment device comprising a color space conversion circuit 100, polar coordinate conversion circuit 101, a selective color adjustment circuit 102, and a color space reconversion circuit 103. The color space conversion circuit 100 takes an RGB trichromatic expression of the input color and converts it through the XYZ color system to a uniform color space L*a*b* expression of the color. The polar coordinate conversion circuit 101 then converts the uniform color space L*a*b* expression to the L*a*b* coordinate system's internal polar coordinate system (H.sup.o Cab, L*, C*ab). After selective color adjustment is applied by the selective color adjustment circuit 102 as described below, the color space reconversion circuit 103 reverses the color expression conversion process, converting the (H*ab, L*, C*ab) expression to the uniform color space L*a*b*, and through the XYZ system to obtain the RGB line output.
Operation of the selective color adjustment circuit 102 is described with reference to FIG. 19, a graph of the method of specifying the color adjustment area, and FIG. 20, a graph of the color adjustment specification method.
Colors are adjusted on the a*b* polar coordinate plane, i.e., the chromaticity plane, using only the hue angle H.degree.ab and saturation C*ab values. The hue is specified using the range angle HA(.degree. ) and the median hue angle HC(.degree. ), saturation is specified using the band width CA* and the median saturation value CC*, and the target area for color adjustment is specified from the combination of these two areas as indicated by the shaded area in FIG. 19. The direction and amount of color change are specified using two color adjustment parameters in the H*ab, C*ab coordinate system, hue rotation of the amount DH(.degree. ) plus or minus the median hue angle, and saturation is increased or decreased Kc times.
This adjustment made using just two parameters results in a loss of continuity in the hue and saturation of the input and output colors because certain colors are suddenly changed to different colors in the color space. In addition, the median values and range of the color distribution used to specify the target color area may vary and cannot be precisely specified because of the wide differences between input images.
Membership functions allowing a certain degree of latitude are therefore applied to specify the target color area. By thus weighting the color adjustment using the membership function value, continuity in the color space can also be maintained. The selective color adjustment can be quantified as shown by equation (2) when the two-dimensional membership function in the a*b* plane is obtained by equation (1). ##EQU1## where (H*ab, C*ab) are the color coordinates before color adjustment, (H*ab', C*ab') are the color coordinates after color adjustment, DH is the angle of rotation of hue H*ab, and Kc is the multiple of saturation C*ab. The color adjustment is thus determined uniquely by the membership function WH(H*ab), WC(C*ab), and DH, Kc.
The color adjustment device described above operates as follows.
The RGB trichromatic expression of the input color is converted through the XYZ color system to the CIE 1976 uniform color space L*a*b* expression by the color space conversion circuit 100. The uniform color space L*a*b* expression is then converted to the internal polar coordinate system (H.degree.ab, C*ab) of the L*a*b* coordinate system by the polar coordinate conversion circuit 101 as defined by equation (3). ##EQU2##
The selective color adjustment circuit 102 then adjusts the color using the two-dimensional membership function described above. The color coordinates (H.degree.ab, C*ab) and L* resulting from the adjustment are then reconverted to a standard L*a*b* expression, to an XYZ system expression, and finally to an RGB trichromatic expression to obtain a selectively adjusted color signal (see Journal of the Electronic Imaging Association, Vol. 18, No. 5, pp. 302-312).
The following problems are presented by this color adjustment method.
First, selective color adjustment requires a polar coordinate conversion to convert the RGB trichromatic signal to the uniform color space L*a*b* system and to the L*a*b* internal polar coordinate system (H.degree.ab, L*, C*ab), and rectangular coordinate conversion to convert from the (H.degree. ab, L*, C*ab) system to the L*a*b* system after color adjustment, and these operations are difficult to perform in real-time because they are non-linear operations.
Furthermore, while look-up tables can be used to increase the processing speed of these non-linear operations, it is difficult to generate these conversion tables and a large number of conversion tables is needed, increasing the required circuit (device) size. In addition, if the precision of these non-linear operations is increased, the required circuit size is increased even further because of the large number of bits required.
Analog processing of this color adjustment process is also extremely difficult because of the polar coordinate conversion and other non-linear conversions required, and this method is not suited to real-time color adjustment processing of a video signal.
In addition, if the operating precision is to be increased, a large number of bits is required at the uniform color space L*a*b* stage before conversion to the polar coordinate system because of the matrix operations performed in the polar coordinate system as shown in equation (2).
Finally, while this color adjustment method can change the hue and saturation of the source signal, it cannot adjust the brightness.